介绍Geohash基础概念的文章很多,我就不拷贝粘贴了,我只用最简单的理解概括:
Geohash用作坐标的索引,可大幅提升搜索坐标相关数据的效率。结合相邻9宫格的geohash,可以快速检索指定坐标附近一定范围内的地理信息目标(POI,道路等等)。
python环境下的geohash库推荐:
https://github.com/transitland/mapzen-geohash
该库基础功能完整,包括坐标编码为geohash,geohash解码为坐标,获取指定geohash周边9宫格的geohash。
安装:pip install mzgeohash
geohash编码的简单示例如下:
输入文件每行包含一个坐标,例如117.445044487,40.0585138025
处理代码:
# !/usr/bin/env python
# encoding:UTF-8
import time
import sys
import mzgeohash
def test(inputFile):
outputfile = file(inputFile+".geohash", 'a')
lineno = 0
ISOTIMEFORMAT='%Y-%m-%d %X'
for line in open(inputFile):
l